package entidades;

import tipos.LaboratorioEnum;
import interfaces.Escalonavel;

public class Laboratorio implements Escalonavel {
	private String id;
	private String apelido;
	private int capacidade;
	private Finalidade finalidade;
	private LaboratorioEnum tipo;
	private boolean aberto;

	public Laboratorio(String id, int capacidade, String finalidade, String tipo, String apelido) {
		this.id = id;
		this.capacidade = capacidade;
		setFinalidade(finalidade);
		setTipo(tipo);
		this.apelido = apelido;
		this.aberto = false;
	}
	
	public Laboratorio(String id, int capacidade, String finalidade, String tipo, String apelido, boolean aberto) {
		this.id = id;
		this.capacidade = capacidade;
		setFinalidade(finalidade);
		setTipo(tipo);
		this.apelido = apelido;
		this.aberto = aberto;
	}

	public int getCapacidade() {
		return capacidade;
	}

	public void setCapacidade(int capacidade) {
		this.capacidade = capacidade;
	}

	public Finalidade getFinalidade() {
		return finalidade;
	}

	private void setFinalidade(String finalidade) {
		if(finalidade.equals("Laboratorio")){
			this.finalidade = Finalidade.LABORATORIO;
		}
	}
	
	public LaboratorioEnum getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		if(tipo.equals("quimica")){
			this.tipo = LaboratorioEnum.QUIMICA;
		} else if(tipo.equals("fisica")){
			this.tipo = LaboratorioEnum.FISICA;
		} else if(tipo.equals("biologia")){
			this.tipo = LaboratorioEnum.BIOLOGIA;
		} else if(tipo.equals("computacao")){
			this.tipo = LaboratorioEnum.COMPUTACAO;
		}
		
	}

	public String getiD() {
		return id;
	}

	@Override
	public boolean alocarEvento(Evento evento) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean desalocarEvento(Evento evento) {
		// TODO Auto-generated method stub
		return false;
	}

	public void setApelido(String apelido) {
		this.apelido = apelido;
	}

	public String getApelido() {
		return apelido;
	}

}
